查看原文
其他

CIS 2020 | 子芽:DevSecOps敏捷安全技术落地实践探索

悬镜安全 2022-07-03

2020年12月30日,“CIS 2020网络安全创新大会——DevSecOps实践与技术专场”论坛如约而至,悬镜安全创始人兼CEO子芽作为论坛出品人,受邀出席活动并带来以《DevSecOps敏捷安全技术落地实践探索》为主题的议题演讲。与此同时,子芽也出席了悬镜安全与Freebuf联合发布的《2020 DevSecOps行业洞察报告》发布仪式。以下内容根据子芽演讲PPT整理。

在议题演讲中,子芽再次分享软件工程安全的两个共识。    1、系统一定有未被发现的安全漏洞。程序员每写1000行代码,就会出现2~40个逻辑漏洞。    2、现代应用都是组装而非纯自研的。78%-90%的现代应用融入了开源组件,平均每个应用包含147个开源组件,且67%的应用采用了带有已知漏洞的开源组件,软件供应链安全威胁迫在眉睫。

现代应用安全的风险面主要来自第三方开源组件缺陷(如CNNVD/CNVD/CVD漏洞)和自研代码,Web通用漏洞(SQL注入、命令执行、XXE、XSS等OWASP TOP10)和业务逻辑漏洞(水平/垂直越权、短信轰炸、批量注册、验证码绕过等 )。因此,针对现代应用全面风险审查应考虑从第三方开源组件、自研代码通用漏洞、自研代码业务逻辑漏洞等维度综合审计。
接下来看一下软件安全里面漏洞产生的内因,主要是三个部分:业务应用复杂度越高安全攻击面越复杂,第二方面是开源框架库等涉及到复用,如果组件本身有漏洞会形成缺陷传染。第三是软件扩展,比如留置的第三方插件接口等。

Windows操作系统正变得越来越复杂,目前Win10已达到7000万行代码。尽管微软在安全上的投入比较早,但仍然能够发现大量的安全漏洞。
说一下外因,外因核心还是反复强调的开源治理。开源软件的盛行给安全迎来巨大挑战。不同行业不同领域里面引用第三方的开源组件库比例不同,从60%多到80%多,这个数据还有一些其他行业没有被覆盖。

为什么DevSecOps突然火起来了?除了2017年DevSecOps day至今国际大力推行这个理念以外,还有云原生技术发展和开发模式的演进,从瀑布式开发到敏捷开发到DevSeOps,DevSecOps基于敏捷,相对敏捷更加强调基于微服务的业务快速上线、快速使用、快速反馈形成正向环。过去SDL面临的挑战首先是业务上线之后,安全的责任过于侧重于安全团队,其次是敏捷,业务快速交付和安全该如何结合到一起。

DevSecOps可能首先认知的就是莫比乌斯带,莫比乌斯带将直线首尾相接,在莫比乌斯带的任何一点,顺时针或逆时针能够将整个环持续无限循环,所以预知着无限大,DevSecOps就是这个理念,强调整个开发安全运营一体化。

DevSecOps不仅要侧重左移,也要关注向右移和持续化的反馈演进。2018年针对DevSecOps框架国际上提出黄金管道,黄金管道能做的很多,但适用于流水线里面比较好的就是CI/CD,关键敏捷安全技术工具链包括:一、AST(黑盒、灰盒、白盒),二、OSS开源治理,三、RASP运行时应用自我保护,四、众测或者红蓝对抗。

今天我们认为在DevSecOps实践理念最需要优先考虑第一步建设的关键技术是IAST。子芽对IAST技术特点进行了详细介绍。
IAST技术特点:
  • 检测范围可覆盖黑盒OWASP TOP10及白盒CWE TOP25主要漏洞及缺陷;
  • 相比传统SAST/DAST,IAST精准度更高;
  • IAST可以解决签名接口问题;
  • IAST获取信息全面和精细,有利于指导研发;
  • lAST更易于整合到DevSecOps CI/CD流程;
  • 主被动IAST融合,将使IAST技术优势更加突出。

复杂的安全成因下,子芽认为,企业最需要优先考虑的DevSecOps实践基础应该是AST——白盒、黑盒、灰盒。白盒更加适合安全团队相对成熟且具备运营能力的甲方,在通用化方面不够完善,黑盒偏向漏扫,侧重于上线运营阶段,而灰盒(IAST)对于应用自身风险检测更有效果。

广义的IAST还包含了流量学习和日志分析等更多模式和能力,一般适用于超过50人的组织,可以在组织边界处配置流量镜像辅助插桩,了解测试资产。此外,子芽还介绍了被动的IAST——动态污点追踪,默认业务输入不可信,在污点汇聚点判断是否为高危操作,以及主动IAST——基于应用插桩探针的交互式缺陷定位,至于用户端流量代理技术更适合小规模网站的深度测试。

复杂的企业环境对IAST技术的落地提出了更多的要求。综合来看,落地需要重点结合企业实际环境。

子芽分享了某证券机构的DevSecOps工具链,可以看到流程依赖于DevOps平台的流水线,DevOps平台可能是自建或由第三方提供,有一个关键是质量红线,设置质量红线标准(比如漏洞等级、应用属性等等)是比较重要的。
子芽也分享了某银行机构DevSecOps(平台+工具)案例,传统的DevOps平台需要把安全融入到DevOps里面去,搭建自己的DevSecOps赋能平台,这样的赋能平台要解决的是:一、工具链的调度,二、质量红线控制,三、综合分析。

子芽在演讲最后提到CARTA,这是Gartner在2019年发布的自适应风险与信任模型,更多运用在攻击和运营侧问题,实际上我们认为在未来的DevSecOps终极效果一定是自适应风险与信任平衡。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存